<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			let arr = [1, 3, 4, 5, 6, 6, 5, 4, 7, 6, 7, 5];
			let max = arr[0];
			for(let item of arr) {
				if(max < item) {
					max = item;
				}
			}
			console.log("最大值为" + max);
			
			//随机数
			// Math.random()：产生一个[0, 1)的数字
			// 写一个随机，范围1~100，只要整数;
			let r = Math.floor(Math.random() * 100) + 1
			console.log(r);
			
			
			//4，在题3的新数组中，求出数组的元素和、最大值与最小值、平均值，并输出打印
			//5、产生一个随机数范围1~10，然后判断该随机数是否属于题3的数组中，如果是，请打印其位置
			//6、创建一个长度为20的数组，要求随机产生范围是[1,20]，且数组中的元素不可以重复
			let a1 = new Array(20);//长度为20的数组
			// let a1 = [10];长度为1的数组，元素是10
			// let a1 = Array(20);//长度为20的数组
			// let a1 = Array(20, 10);//长度为2的数组
			// let a1 = Array.of(20);//长度为1的数组
			let r1 = 0;
			let i = 0;
			do{
				r1 = Math.floor(Math.random() * 20) + 1
				if(a1.indexOf(r1) !== -1) {
					continue;
				}
				a1[i] = r1;
				i++;
			}while(i < 20);
			console.log(a1);
			console.log(a1.reverse())
			//使用for循环实现数组反转
			for(let i = 0, j = a1.length - 1; i < a1.length / 2, j > a1.length / 2; i++, j--) {
				//元素交换，三种方式
				//两杯水，三个杯子
				// let item = a1[i];
				// a1[i] = a1[j];
				// a1[j] = item;
				//加减法，只是针对数字类型
				// a1[i] = a1[i] + a1[j];
				// a1[j] = a1[i] - a1[j];
				// a1[i] = a1[i] - a1[j];
				//使用异或，效率最高
				a1[i] = a1[i] ^ a1[j];//9和3
				a1[j] = a1[i] ^ a1[j];
				a1[i] = a1[i] ^ a1[j];
			}
			console.log(a1);
		</script>
	</body>
</html>
